<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!-- 
	Copyright (C) 2007, 2008, 2009, 2010, 2011. PARP Research Group.
	<http://perception.inf.um.es>
	University of Murcia, Spain.

	This file is part of the QVision library.

	QVision is free software: you can redistribute it and/or modify
	it under the terms of the GNU Lesser General Public License as
	published by the Free Software Foundation, version 3 of the License.

	QVision is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU Lesser General Public License for more details.

	You should have received a copy of the GNU Lesser General Public
	License along with QVision. If not, see <http://www.gnu.org/licenses/>.
-->

<html><head><meta http-equiv="content-Type" content="text/html;charset=UTF-8">
<title>QVision: Qt&#39;s Image, Video and Computer Vision Library</title>
<meta name="title" content="QVision" />
<meta name="dc.title" content="QVision" />
<meta name="url" content="http://perception.inf.um.es/QVision" />
<meta name="author" content="PARP Research Group - http://perception.inf.um.es" />
<meta name="revisit-after" content="30 DAYS"/>
<meta name="robots" content="index,follow"/>
<meta name="classification" content="*">
<meta name="rating" content="Safe For Kids">
<meta name="distribution" content="GLOBAL"/>
<meta name="description" content="Qt's Image, Video and Computer Vision Library"/>
<meta name="page-topic" content="Computer Vision research and prototype programming"/>
<meta name="geo.country" content="ES" />

<!--
Keywords:
By license:		open source, gnu, lgpl, gpl, free
By theme:		computer vision, image processing, robotics, programming, source, development
By usage:		library, toolkit, framework, prototype, application
By programming specs:	object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping
Interoperability with:	Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack
Functionallity:		image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface
Main data-types:	matrix, vector, tensor, quaternion, image, polyline
Video sources:		webcam, camera, stream
Devices:		embedded, desktop computer, laptop, mini-laptop
Authors:		PARP research group. University of Murcia, Spain.
-->

<meta name="keywords" content="augmented reality, sfm, structure from motion, open source, gnu, lgpl, gpl, free, computer vision, image processing, robotics, programming, source, development, library, toolkit, framework, prototype, application, object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping, Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack, image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface, matrix, vector, tensor, quaternion, image, polyline, webcam, camera, stream, embedded, desktop computer, laptop, mini-laptop, University of Murcia, Spain, PARP research group, vision por computador"/>
<meta http-equiv="keywords" content="augmented reality, sfm, structure from motion, open source, gnu, lgpl, gpl, free, computer vision, image processing, robotics, programming, source, development, library, toolkit, framework, prototype, application, object oriented, c++, block programming, reusability, gui, graphical, parallel computing, high performance, GPU, prototyping, Qt, GSL, GNU Scientific library, OpenCV, CGAL, QWT, CUDA, mplayer, IPP, Intel Image Performance Primitives, blas, lapack, image features, matrix algebra, projective geometry, mser, function minimization, function optimization, canny operator, harris operator, corner detection, performance evaluation, cpu usage, graphical interface, matrix, vector, tensor, quaternion, image, polyline, webcam, camera, stream, embedded, desktop computer, laptop, mini-laptop, University of Murcia, Spain, PARP research group, vision por computador"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="title" content="QVision"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="favicon.ico" />
</head><body>

<table width="100%"><tr>
	<td><a href="http://perception.inf.um.es/"><img src="parp.png" border="0" /> <big>PARP Research Group</big></a></td>
	<td align="right"><a href="http://www.um.es/"><big>Universidad de Murcia</big> <img src="um.png" border="0" /></a></td>
</tr></table>

<hr /><br />

<table width="95%" align="center"><tr><td>

<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <form id="FSearchBox" action="search.php" method="get">
            <img id="MSearchSelect" src="search/search.png" alt=""/>
            <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                   onfocus="searchBox.OnSearchFieldFocus(true)" 
                   onblur="searchBox.OnSearchFieldFocus(false)"/>
          </form>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>src/qvblockprogramming/qvguiblocks/qvparamwidget.cpp</h1><a href="qvparamwidget_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> *      Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012. PARP Research Group.</span>
<a name="l00003"></a>00003 <span class="comment"> *      &lt;http://perception.inf.um.es&gt;</span>
<a name="l00004"></a>00004 <span class="comment"> *      University of Murcia, Spain.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> *      This file is part of the QVision library.</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> *      QVision is free software: you can redistribute it and/or modify</span>
<a name="l00009"></a>00009 <span class="comment"> *      it under the terms of the GNU Lesser General Public License as</span>
<a name="l00010"></a>00010 <span class="comment"> *      published by the Free Software Foundation, version 3 of the License.</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> *      QVision is distributed in the hope that it will be useful,</span>
<a name="l00013"></a>00013 <span class="comment"> *      but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00014"></a>00014 <span class="comment"> *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00015"></a>00015 <span class="comment"> *      GNU Lesser General Public License for more details.</span>
<a name="l00016"></a>00016 <span class="comment"> *</span>
<a name="l00017"></a>00017 <span class="comment"> *      You should have received a copy of the GNU Lesser General Public</span>
<a name="l00018"></a>00018 <span class="comment"> *      License along with QVision. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
<a name="l00019"></a>00019 <span class="comment"> */</span>
<a name="l00020"></a>00020 
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="qvparamwidget_8h.html" title="File from the QVision library.">qvparamwidget.h</a>&quot;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QLineEdit&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QSlider&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QLabel&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QCheckBox&gt;</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;QVBoxLayout&gt;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;QHBoxLayout&gt;</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;qwt_slider.h&gt;</span>
<a name="l00036"></a>00036 QVSIntParamWidget::QVSIntParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00037"></a>00037         {
<a name="l00038"></a>00038         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l00039"></a>00039         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00040"></a>00040         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00041"></a>00041                 {
<a name="l00042"></a>00042                 max = orig_holder-&gt;getPropertyMaximum&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l00043"></a>00043                 min = orig_holder-&gt;getPropertyMinimum&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l00044"></a>00044                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">int</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>,min,max);
<a name="l00045"></a>00045                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00046"></a>00046 
<a name="l00047"></a>00047                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00048"></a>00048                 lineedit-&gt;setFixedWidth(80);
<a name="l00049"></a>00049                 slider = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00050"></a>00050                 slider-&gt;setMinimum(min);
<a name="l00051"></a>00051                 slider-&gt;setMaximum(max);
<a name="l00052"></a>00052                 slider-&gt;setFixedWidth(150);
<a name="l00053"></a>00053 
<a name="l00054"></a>00054                 QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00055"></a>00055                 vboxlayout-&gt;setSpacing(0);
<a name="l00056"></a>00056                 QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00057"></a>00057                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;int&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00058"></a>00058                 label-&gt;setToolTip(info);
<a name="l00059"></a>00059                 hboxlayout1-&gt;addWidget(label);
<a name="l00060"></a>00060                 hboxlayout1-&gt;addStretch();
<a name="l00061"></a>00061                 hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00062"></a>00062                 QHBoxLayout *hboxlayout2 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00063"></a>00063                 hboxlayout2-&gt;addWidget(lineedit);
<a name="l00064"></a>00064                 hboxlayout2-&gt;addStretch();
<a name="l00065"></a>00065                 hboxlayout2-&gt;addWidget(slider);
<a name="l00066"></a>00066                 vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00067"></a>00067                 vboxlayout-&gt;addLayout(hboxlayout2);
<a name="l00068"></a>00068 
<a name="l00069"></a>00069                 slider-&gt;setValue(value);
<a name="l00070"></a>00070                 connect(slider,SIGNAL(valueChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00071"></a>00071                 }
<a name="l00072"></a>00072         <span class="keywordflow">else</span>
<a name="l00073"></a>00073                 {
<a name="l00074"></a>00074                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">int</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00075"></a>00075                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00076"></a>00076 
<a name="l00077"></a>00077                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00078"></a>00078                 lineedit-&gt;setFixedWidth(80);
<a name="l00079"></a>00079 
<a name="l00080"></a>00080                 QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00081"></a>00081                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;int&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00082"></a>00082                 label-&gt;setToolTip(info);
<a name="l00083"></a>00083                 hboxlayout-&gt;addWidget(label);
<a name="l00084"></a>00084                 hboxlayout-&gt;addStretch();
<a name="l00085"></a>00085                 hboxlayout-&gt;addWidget(lineedit);
<a name="l00086"></a>00086                 <span class="comment">//hboxlayout-&gt;addStretch();</span>
<a name="l00087"></a>00087                 }
<a name="l00088"></a>00088 
<a name="l00089"></a>00089         connect(lineedit,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00090"></a>00090         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property,value);
<a name="l00091"></a>00091         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00092"></a>00092         emit valueChanged(value);
<a name="l00093"></a>00093         }
<a name="l00094"></a>00094 
<a name="l00095"></a>00095 <span class="keywordtype">void</span> QVSIntParamWidget::setValue()
<a name="l00096"></a>00096         {
<a name="l00097"></a>00097         <span class="keywordflow">if</span>(sender() == lineedit)
<a name="l00098"></a>00098                 {
<a name="l00099"></a>00099                 <span class="keywordtype">bool</span> ok;
<a name="l00100"></a>00100                 value = lineedit-&gt;text().toInt(&amp;ok);
<a name="l00101"></a>00101                 <span class="keywordflow">if</span>( (not ok) or
<a name="l00102"></a>00102                         (orig_holder-&gt;hasRange(property) and (value&lt;min or value&gt;max) ) )
<a name="l00103"></a>00103                         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l00104"></a>00104                 }
<a name="l00105"></a>00105         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == slider) {
<a name="l00106"></a>00106                 value = slider-&gt;value();
<a name="l00107"></a>00107                 }
<a name="l00108"></a>00108         <span class="keywordflow">else</span>
<a name="l00109"></a>00109                 value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l00110"></a>00110 
<a name="l00111"></a>00111         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00112"></a>00112         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00113"></a>00113                 slider-&gt;setValue(value);
<a name="l00114"></a>00114         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property,value);
<a name="l00115"></a>00115         emit valueChanged(value);
<a name="l00116"></a>00116         }
<a name="l00117"></a>00117 
<a name="l00119"></a>00119 QVUIntParamWidget::QVUIntParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00120"></a>00120         {
<a name="l00121"></a>00121         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property);
<a name="l00122"></a>00122         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00123"></a>00123         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00124"></a>00124                 {
<a name="l00125"></a>00125                 max = orig_holder-&gt;getPropertyMaximum&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property);
<a name="l00126"></a>00126                 min = orig_holder-&gt;getPropertyMinimum&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property);
<a name="l00127"></a>00127                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>,min,max);
<a name="l00128"></a>00128                 gui_holder-&gt;linkProperty(property, orig_holder, property, QVPropertyContainer::AsynchronousLink);
<a name="l00129"></a>00129 
<a name="l00130"></a>00130                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00131"></a>00131                 lineedit-&gt;setFixedWidth(80);
<a name="l00132"></a>00132                 slider = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00133"></a>00133                 slider-&gt;setMinimum(min);
<a name="l00134"></a>00134                 slider-&gt;setMaximum(max);
<a name="l00135"></a>00135                 slider-&gt;setFixedWidth(150);
<a name="l00136"></a>00136 
<a name="l00137"></a>00137                 QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00138"></a>00138                 vboxlayout-&gt;setSpacing(0);
<a name="l00139"></a>00139                 QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00140"></a>00140                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;unsigned int&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00141"></a>00141                 label-&gt;setToolTip(info);
<a name="l00142"></a>00142                 hboxlayout1-&gt;addWidget(label);
<a name="l00143"></a>00143                 hboxlayout1-&gt;addStretch();
<a name="l00144"></a>00144                 hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00145"></a>00145                 QHBoxLayout *hboxlayout2 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00146"></a>00146                 hboxlayout2-&gt;addWidget(lineedit);
<a name="l00147"></a>00147                 hboxlayout2-&gt;addStretch();
<a name="l00148"></a>00148                 hboxlayout2-&gt;addWidget(slider);
<a name="l00149"></a>00149                 vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00150"></a>00150                 vboxlayout-&gt;addLayout(hboxlayout2);
<a name="l00151"></a>00151 
<a name="l00152"></a>00152                 slider-&gt;setValue(value);
<a name="l00153"></a>00153                 connect(slider,SIGNAL(valueChanged(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00154"></a>00154                 }
<a name="l00155"></a>00155         <span class="keywordflow">else</span>
<a name="l00156"></a>00156                 {
<a name="l00157"></a>00157                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00158"></a>00158                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00159"></a>00159 
<a name="l00160"></a>00160                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00161"></a>00161                 lineedit-&gt;setFixedWidth(80);
<a name="l00162"></a>00162 
<a name="l00163"></a>00163                 QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00164"></a>00164                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;unsigned int&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00165"></a>00165                 label-&gt;setToolTip(info);
<a name="l00166"></a>00166                 hboxlayout-&gt;addWidget(label);
<a name="l00167"></a>00167                 hboxlayout-&gt;addStretch();
<a name="l00168"></a>00168                 hboxlayout-&gt;addWidget(lineedit);
<a name="l00169"></a>00169                 <span class="comment">//hboxlayout-&gt;addStretch();</span>
<a name="l00170"></a>00170                 }
<a name="l00171"></a>00171 
<a name="l00172"></a>00172         connect(lineedit,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00173"></a>00173         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property,value);
<a name="l00174"></a>00174         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00175"></a>00175         emit valueChanged(value);
<a name="l00176"></a>00176         }
<a name="l00177"></a>00177 
<a name="l00178"></a>00178 <span class="keywordtype">void</span> QVUIntParamWidget::setValue()
<a name="l00179"></a>00179         {
<a name="l00180"></a>00180         <span class="keywordflow">if</span>(sender() == lineedit)
<a name="l00181"></a>00181                 {
<a name="l00182"></a>00182                 <span class="keywordtype">bool</span> ok;
<a name="l00183"></a>00183                 value = lineedit-&gt;text().toInt(&amp;ok);
<a name="l00184"></a>00184                 <span class="keywordflow">if</span>( (not ok) or
<a name="l00185"></a>00185                         (orig_holder-&gt;hasRange(property) and (value&lt;min or value&gt;max) ) )
<a name="l00186"></a>00186                         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property);
<a name="l00187"></a>00187                 }
<a name="l00188"></a>00188         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == slider) {
<a name="l00189"></a>00189                 value = slider-&gt;value();
<a name="l00190"></a>00190                 }
<a name="l00191"></a>00191         <span class="keywordflow">else</span>
<a name="l00192"></a>00192                 value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property);
<a name="l00193"></a>00193 
<a name="l00194"></a>00194         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00195"></a>00195         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00196"></a>00196                 slider-&gt;setValue(value);
<a name="l00197"></a>00197         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(property,value);
<a name="l00198"></a>00198         emit valueChanged(value);
<a name="l00199"></a>00199         }
<a name="l00200"></a>00200 
<a name="l00202"></a>00202 
<a name="l00203"></a>00203 QVSCharParamWidget::QVSCharParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00204"></a>00204         {
<a name="l00205"></a>00205         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">char</span>&gt;(property);
<a name="l00206"></a>00206         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00207"></a>00207         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00208"></a>00208                 {
<a name="l00209"></a>00209                 max = orig_holder-&gt;getPropertyMaximum&lt;<span class="keywordtype">char</span>&gt;(property);
<a name="l00210"></a>00210                 min = orig_holder-&gt;getPropertyMinimum&lt;<span class="keywordtype">char</span>&gt;(property);
<a name="l00211"></a>00211                 }
<a name="l00212"></a>00212         <span class="keywordflow">else</span>    {
<a name="l00213"></a>00213                 max = 255;
<a name="l00214"></a>00214                 min = 0;
<a name="l00215"></a>00215                 }
<a name="l00216"></a>00216 
<a name="l00217"></a>00217         max = (max &gt; 255)? 255: max;
<a name="l00218"></a>00218         min = (min &lt; 0)? 0: min;
<a name="l00219"></a>00219 
<a name="l00220"></a>00220         gui_holder-&gt;addProperty&lt;<span class="keywordtype">char</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>,min,max);
<a name="l00221"></a>00221         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00222"></a>00222 
<a name="l00223"></a>00223         lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00224"></a>00224         lineedit-&gt;setFixedWidth(80);
<a name="l00225"></a>00225 
<a name="l00226"></a>00226         slider = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00227"></a>00227         slider-&gt;setMinimum(min);
<a name="l00228"></a>00228         slider-&gt;setMaximum(max);
<a name="l00229"></a>00229         slider-&gt;setFixedWidth(150);
<a name="l00230"></a>00230 
<a name="l00231"></a>00231         QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00232"></a>00232         vboxlayout-&gt;setSpacing(0);
<a name="l00233"></a>00233         QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00234"></a>00234         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;char&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00235"></a>00235         label-&gt;setToolTip(info);
<a name="l00236"></a>00236         hboxlayout1-&gt;addWidget(label);
<a name="l00237"></a>00237         hboxlayout1-&gt;addStretch();
<a name="l00238"></a>00238         hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00239"></a>00239         QHBoxLayout *hboxlayout2 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00240"></a>00240         hboxlayout2-&gt;addWidget(lineedit);
<a name="l00241"></a>00241         hboxlayout2-&gt;addStretch();
<a name="l00242"></a>00242         hboxlayout2-&gt;addWidget(slider);
<a name="l00243"></a>00243         vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00244"></a>00244         vboxlayout-&gt;addLayout(hboxlayout2);
<a name="l00245"></a>00245 
<a name="l00246"></a>00246         slider-&gt;setValue(value);
<a name="l00247"></a>00247         connect(slider,SIGNAL(valueChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00248"></a>00248 
<a name="l00249"></a>00249         connect(lineedit,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00250"></a>00250         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">char</span>&gt;(property,value);
<a name="l00251"></a>00251         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00252"></a>00252         emit valueChanged(value);
<a name="l00253"></a>00253         }
<a name="l00254"></a>00254 
<a name="l00255"></a>00255 <span class="keywordtype">void</span> QVSCharParamWidget::setValue()
<a name="l00256"></a>00256         {
<a name="l00257"></a>00257         <span class="keywordflow">if</span>(sender() == lineedit)
<a name="l00258"></a>00258                 {
<a name="l00259"></a>00259                 <span class="keywordtype">bool</span> ok;
<a name="l00260"></a>00260                 value = lineedit-&gt;text().toInt(&amp;ok);
<a name="l00261"></a>00261                 <span class="keywordflow">if</span>( (not ok) or
<a name="l00262"></a>00262                         (<span class="comment">/*orig_holder-&gt;hasRange(property) and*/</span> (value&lt;min or value&gt;max) ) )
<a name="l00263"></a>00263                         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00264"></a>00264                 }
<a name="l00265"></a>00265         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == slider) {
<a name="l00266"></a>00266                 value = slider-&gt;value();
<a name="l00267"></a>00267                 }
<a name="l00268"></a>00268         <span class="keywordflow">else</span>
<a name="l00269"></a>00269                 value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00270"></a>00270 
<a name="l00271"></a>00271         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00272"></a>00272         <span class="comment">//if(orig_holder-&gt;hasRange(property))</span>
<a name="l00273"></a>00273         slider-&gt;setValue(value);
<a name="l00274"></a>00274         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property,value);
<a name="l00275"></a>00275         emit valueChanged(value);
<a name="l00276"></a>00276         }
<a name="l00278"></a>00278 
<a name="l00279"></a>00279 QVUCharParamWidget::QVUCharParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00280"></a>00280         {
<a name="l00281"></a>00281         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00282"></a>00282         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00283"></a>00283         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00284"></a>00284                 {
<a name="l00285"></a>00285                 max = orig_holder-&gt;getPropertyMaximum&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00286"></a>00286                 min = orig_holder-&gt;getPropertyMinimum&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00287"></a>00287                 }
<a name="l00288"></a>00288         <span class="keywordflow">else</span>    {
<a name="l00289"></a>00289                 max = 255;
<a name="l00290"></a>00290                 min = 0;
<a name="l00291"></a>00291                 }
<a name="l00292"></a>00292 
<a name="l00293"></a>00293         max = (max &gt; 255)? 255: max;
<a name="l00294"></a>00294         min = (min &lt; 0)? 0: min;
<a name="l00295"></a>00295 
<a name="l00296"></a>00296         gui_holder-&gt;addProperty&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>,min,max);
<a name="l00297"></a>00297         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00298"></a>00298 
<a name="l00299"></a>00299         lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00300"></a>00300         lineedit-&gt;setFixedWidth(80);
<a name="l00301"></a>00301 
<a name="l00302"></a>00302         slider = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00303"></a>00303         slider-&gt;setMinimum(min);
<a name="l00304"></a>00304         slider-&gt;setMaximum(max);
<a name="l00305"></a>00305         slider-&gt;setFixedWidth(150);
<a name="l00306"></a>00306 
<a name="l00307"></a>00307         QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00308"></a>00308         vboxlayout-&gt;setSpacing(0);
<a name="l00309"></a>00309         QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00310"></a>00310         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;unsigned char&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00311"></a>00311         label-&gt;setToolTip(info);
<a name="l00312"></a>00312         hboxlayout1-&gt;addWidget(label);
<a name="l00313"></a>00313         hboxlayout1-&gt;addStretch();
<a name="l00314"></a>00314         hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00315"></a>00315         QHBoxLayout *hboxlayout2 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00316"></a>00316         hboxlayout2-&gt;addWidget(lineedit);
<a name="l00317"></a>00317         hboxlayout2-&gt;addStretch();
<a name="l00318"></a>00318         hboxlayout2-&gt;addWidget(slider);
<a name="l00319"></a>00319         vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00320"></a>00320         vboxlayout-&gt;addLayout(hboxlayout2);
<a name="l00321"></a>00321 
<a name="l00322"></a>00322         slider-&gt;setValue(value);
<a name="l00323"></a>00323         connect(slider,SIGNAL(valueChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00324"></a>00324 
<a name="l00325"></a>00325         connect(lineedit,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00326"></a>00326         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property,value);
<a name="l00327"></a>00327         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00328"></a>00328         emit valueChanged(value);
<a name="l00329"></a>00329         }
<a name="l00330"></a>00330 
<a name="l00331"></a>00331 <span class="keywordtype">void</span> QVUCharParamWidget::setValue()
<a name="l00332"></a>00332         {
<a name="l00333"></a>00333         <span class="keywordflow">if</span>(sender() == lineedit)
<a name="l00334"></a>00334                 {
<a name="l00335"></a>00335                 <span class="keywordtype">bool</span> ok;
<a name="l00336"></a>00336                 value = lineedit-&gt;text().toInt(&amp;ok);
<a name="l00337"></a>00337                 <span class="keywordflow">if</span>( (not ok) or
<a name="l00338"></a>00338                         (<span class="comment">/*orig_holder-&gt;hasRange(property) and*/</span> (value&lt;min or value&gt;max) ) )
<a name="l00339"></a>00339                         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00340"></a>00340                 }
<a name="l00341"></a>00341         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == slider) {
<a name="l00342"></a>00342                 value = slider-&gt;value();
<a name="l00343"></a>00343                 }
<a name="l00344"></a>00344         <span class="keywordflow">else</span>
<a name="l00345"></a>00345                 value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property);
<a name="l00346"></a>00346 
<a name="l00347"></a>00347         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00348"></a>00348         <span class="comment">//if(orig_holder-&gt;hasRange(property))</span>
<a name="l00349"></a>00349         slider-&gt;setValue(value);
<a name="l00350"></a>00350         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&gt;(property,value);
<a name="l00351"></a>00351         emit valueChanged(value);
<a name="l00352"></a>00352         }
<a name="l00353"></a>00353 
<a name="l00355"></a>00355 QVDoubleParamWidget::QVDoubleParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00356"></a>00356         {
<a name="l00357"></a>00357 
<a name="l00358"></a>00358         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l00359"></a>00359         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00360"></a>00360         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00361"></a>00361                 {
<a name="l00362"></a>00362                 max = orig_holder-&gt;getPropertyMaximum&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l00363"></a>00363                 min = orig_holder-&gt;getPropertyMinimum&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l00364"></a>00364                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">double</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>,min,max);
<a name="l00365"></a>00365                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00366"></a>00366 
<a name="l00367"></a>00367                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00368"></a>00368                 lineedit-&gt;setFixedWidth(80);
<a name="l00369"></a>00369                 qwtslider = <span class="keyword">new</span> QwtSlider(<span class="keyword">this</span>,Qt::Horizontal,QwtSlider::NoScale,QwtSlider::BgSlot);
<a name="l00370"></a>00370                 qwtslider-&gt;setThumbLength(20);
<a name="l00371"></a>00371                 qwtslider-&gt;setThumbWidth(10);
<a name="l00372"></a>00372                 qwtslider-&gt;setRange(min,max);
<a name="l00373"></a>00373                 qwtslider-&gt;setFixedWidth(150);
<a name="l00374"></a>00374 
<a name="l00375"></a>00375                 QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00376"></a>00376                 vboxlayout-&gt;setSpacing(0);
<a name="l00377"></a>00377                 QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00378"></a>00378                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;double&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00379"></a>00379                 label-&gt;setToolTip(info);
<a name="l00380"></a>00380                 hboxlayout1-&gt;addWidget(label);
<a name="l00381"></a>00381                 hboxlayout1-&gt;addStretch();
<a name="l00382"></a>00382                 hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00383"></a>00383                 QHBoxLayout *hboxlayout2 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00384"></a>00384                 hboxlayout2-&gt;addWidget(lineedit);
<a name="l00385"></a>00385                 hboxlayout2-&gt;addStretch();
<a name="l00386"></a>00386                 hboxlayout2-&gt;addWidget(qwtslider);
<a name="l00387"></a>00387                 vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00388"></a>00388                 vboxlayout-&gt;addLayout(hboxlayout2);
<a name="l00389"></a>00389 
<a name="l00390"></a>00390                 qwtslider-&gt;setValue(value);
<a name="l00391"></a>00391                 connect(qwtslider,SIGNAL(valueChanged(<span class="keywordtype">double</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00392"></a>00392                 }
<a name="l00393"></a>00393         <span class="keywordflow">else</span>
<a name="l00394"></a>00394                 {
<a name="l00395"></a>00395                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">double</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00396"></a>00396                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00397"></a>00397 
<a name="l00398"></a>00398                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00399"></a>00399                 lineedit-&gt;setFixedWidth(80);
<a name="l00400"></a>00400 
<a name="l00401"></a>00401                 QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00402"></a>00402                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;double&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00403"></a>00403                 label-&gt;setToolTip(info);
<a name="l00404"></a>00404                 hboxlayout-&gt;addWidget(label);
<a name="l00405"></a>00405                 hboxlayout-&gt;addStretch();
<a name="l00406"></a>00406                 hboxlayout-&gt;addWidget(lineedit);
<a name="l00407"></a>00407                 <span class="comment">//hboxlayout-&gt;addStretch();</span>
<a name="l00408"></a>00408                 }
<a name="l00409"></a>00409 
<a name="l00410"></a>00410         connect(lineedit,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00411"></a>00411         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property,value);
<a name="l00412"></a>00412         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00413"></a>00413         emit valueChanged(value);
<a name="l00414"></a>00414 
<a name="l00415"></a>00415         }
<a name="l00416"></a>00416 
<a name="l00417"></a>00417 <span class="keywordtype">void</span> QVDoubleParamWidget::setValue()
<a name="l00418"></a>00418         {
<a name="l00419"></a>00419         <span class="keywordflow">if</span>(sender() == lineedit)
<a name="l00420"></a>00420                 {
<a name="l00421"></a>00421                 <span class="keywordtype">bool</span> ok;
<a name="l00422"></a>00422                 value = lineedit-&gt;text().toDouble(&amp;ok);
<a name="l00423"></a>00423                 <span class="keywordflow">if</span>( (not ok) or
<a name="l00424"></a>00424                         (orig_holder-&gt;hasRange(property) and (value&lt;min or value&gt;max) ) )
<a name="l00425"></a>00425                         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l00426"></a>00426                 }
<a name="l00427"></a>00427         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == qwtslider) {
<a name="l00428"></a>00428                 value = qwtslider-&gt;value();
<a name="l00429"></a>00429                 }
<a name="l00430"></a>00430         <span class="keywordflow">else</span>
<a name="l00431"></a>00431                 value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l00432"></a>00432 
<a name="l00433"></a>00433         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00434"></a>00434         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00435"></a>00435                 qwtslider-&gt;setValue(value);
<a name="l00436"></a>00436         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property,value);
<a name="l00437"></a>00437         emit valueChanged(value);
<a name="l00438"></a>00438         }
<a name="l00439"></a>00439 
<a name="l00441"></a>00441 QVFloatParamWidget::QVFloatParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00442"></a>00442         {
<a name="l00443"></a>00443 
<a name="l00444"></a>00444         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">float</span>&gt;(property);
<a name="l00445"></a>00445         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00446"></a>00446         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00447"></a>00447                 {
<a name="l00448"></a>00448                 max = orig_holder-&gt;getPropertyMaximum&lt;<span class="keywordtype">float</span>&gt;(property);
<a name="l00449"></a>00449                 min = orig_holder-&gt;getPropertyMinimum&lt;<span class="keywordtype">float</span>&gt;(property);
<a name="l00450"></a>00450                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">float</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>,min,max);
<a name="l00451"></a>00451                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00452"></a>00452 
<a name="l00453"></a>00453                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00454"></a>00454                 lineedit-&gt;setFixedWidth(80);
<a name="l00455"></a>00455                 qwtslider = <span class="keyword">new</span> QwtSlider(<span class="keyword">this</span>,Qt::Horizontal,QwtSlider::NoScale,QwtSlider::BgSlot);
<a name="l00456"></a>00456                 qwtslider-&gt;setThumbLength(20);
<a name="l00457"></a>00457                 qwtslider-&gt;setThumbWidth(10);
<a name="l00458"></a>00458                 qwtslider-&gt;setRange(min,max);
<a name="l00459"></a>00459                 qwtslider-&gt;setFixedWidth(150);
<a name="l00460"></a>00460 
<a name="l00461"></a>00461                 QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00462"></a>00462                 vboxlayout-&gt;setSpacing(0);
<a name="l00463"></a>00463                 QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00464"></a>00464                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;float&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00465"></a>00465                 label-&gt;setToolTip(info);
<a name="l00466"></a>00466                 hboxlayout1-&gt;addWidget(label);
<a name="l00467"></a>00467                 hboxlayout1-&gt;addStretch();
<a name="l00468"></a>00468                 hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00469"></a>00469                 QHBoxLayout *hboxlayout2 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00470"></a>00470                 hboxlayout2-&gt;addWidget(lineedit);
<a name="l00471"></a>00471                 hboxlayout2-&gt;addStretch();
<a name="l00472"></a>00472                 hboxlayout2-&gt;addWidget(qwtslider);
<a name="l00473"></a>00473                 vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00474"></a>00474                 vboxlayout-&gt;addLayout(hboxlayout2);
<a name="l00475"></a>00475 
<a name="l00476"></a>00476                 qwtslider-&gt;setValue(value);
<a name="l00477"></a>00477                 connect(qwtslider,SIGNAL(valueChanged(<span class="keywordtype">double</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00478"></a>00478                 }
<a name="l00479"></a>00479         <span class="keywordflow">else</span>
<a name="l00480"></a>00480                 {
<a name="l00481"></a>00481                 gui_holder-&gt;addProperty&lt;<span class="keywordtype">float</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00482"></a>00482                 gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00483"></a>00483 
<a name="l00484"></a>00484                 lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00485"></a>00485                 lineedit-&gt;setFixedWidth(80);
<a name="l00486"></a>00486 
<a name="l00487"></a>00487                 QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00488"></a>00488                 QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;float&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00489"></a>00489                 label-&gt;setToolTip(info);
<a name="l00490"></a>00490                 hboxlayout-&gt;addWidget(label);
<a name="l00491"></a>00491                 hboxlayout-&gt;addStretch();
<a name="l00492"></a>00492                 hboxlayout-&gt;addWidget(lineedit);
<a name="l00493"></a>00493                 <span class="comment">//hboxlayout-&gt;addStretch();</span>
<a name="l00494"></a>00494                 }
<a name="l00495"></a>00495 
<a name="l00496"></a>00496         connect(lineedit,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00497"></a>00497         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">float</span>&gt;(property,value);
<a name="l00498"></a>00498         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00499"></a>00499         emit valueChanged(value);
<a name="l00500"></a>00500 
<a name="l00501"></a>00501         }
<a name="l00502"></a>00502 
<a name="l00503"></a>00503 <span class="keywordtype">void</span> QVFloatParamWidget::setValue()
<a name="l00504"></a>00504         {
<a name="l00505"></a>00505         <span class="keywordflow">if</span>(sender() == lineedit)
<a name="l00506"></a>00506                 {
<a name="l00507"></a>00507                 <span class="keywordtype">bool</span> ok;
<a name="l00508"></a>00508                 value = lineedit-&gt;text().toFloat(&amp;ok);
<a name="l00509"></a>00509                 <span class="keywordflow">if</span>( (not ok) or
<a name="l00510"></a>00510                         (orig_holder-&gt;hasRange(property) and (value&lt;min or value&gt;max) ) )
<a name="l00511"></a>00511                         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">float</span>&gt;(property);
<a name="l00512"></a>00512                 }
<a name="l00513"></a>00513         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == qwtslider) {
<a name="l00514"></a>00514                 value = qwtslider-&gt;value();
<a name="l00515"></a>00515                 }
<a name="l00516"></a>00516         <span class="keywordflow">else</span>
<a name="l00517"></a>00517                 value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">float</span>&gt;(property);
<a name="l00518"></a>00518 
<a name="l00519"></a>00519         lineedit-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value));
<a name="l00520"></a>00520         <span class="keywordflow">if</span>(orig_holder-&gt;hasRange(property))
<a name="l00521"></a>00521                 qwtslider-&gt;setValue(value);
<a name="l00522"></a>00522         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">float</span>&gt;(property,value);
<a name="l00523"></a>00523         emit valueChanged(value);
<a name="l00524"></a>00524         }
<a name="l00525"></a>00525 
<a name="l00527"></a>00527 QVBoolParamWidget::QVBoolParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00528"></a>00528         {
<a name="l00529"></a>00529         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">bool</span>&gt;(property);
<a name="l00530"></a>00530         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00531"></a>00531 
<a name="l00532"></a>00532         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00533"></a>00533         <span class="comment">//hboxlayout-&gt;setSpacing(0);</span>
<a name="l00534"></a>00534         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;bool&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property),<span class="keyword">this</span>);
<a name="l00535"></a>00535         label-&gt;setToolTip(info);
<a name="l00536"></a>00536         hboxlayout-&gt;addWidget(label);
<a name="l00537"></a>00537         hboxlayout-&gt;addStretch();
<a name="l00538"></a>00538         checkbox = <span class="keyword">new</span> QCheckBox(<span class="keyword">this</span>);
<a name="l00539"></a>00539         hboxlayout-&gt;addWidget(checkbox);
<a name="l00540"></a>00540 
<a name="l00541"></a>00541         gui_holder-&gt;addProperty&lt;<span class="keywordtype">bool</span>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00542"></a>00542 
<a name="l00543"></a>00543         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00544"></a>00544 
<a name="l00545"></a>00545         connect(checkbox,SIGNAL(stateChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00546"></a>00546         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">bool</span>&gt;(property,value);
<a name="l00547"></a>00547         <span class="keywordflow">if</span>(value)
<a name="l00548"></a>00548                 checkbox-&gt;setCheckState(Qt::Checked);
<a name="l00549"></a>00549         <span class="keywordflow">else</span>
<a name="l00550"></a>00550                 checkbox-&gt;setCheckState(Qt::Unchecked);
<a name="l00551"></a>00551         emit valueChanged(value);
<a name="l00552"></a>00552         }
<a name="l00553"></a>00553 
<a name="l00554"></a>00554 <span class="keywordtype">void</span> QVBoolParamWidget::setValue()
<a name="l00555"></a>00555         {
<a name="l00556"></a>00556         <span class="keywordflow">if</span> (checkbox-&gt;checkState() == Qt::Unchecked)
<a name="l00557"></a>00557                 value = <span class="keyword">false</span>;
<a name="l00558"></a>00558         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (checkbox-&gt;checkState() == Qt::Checked)
<a name="l00559"></a>00559                 value = <span class="keyword">true</span>;
<a name="l00560"></a>00560 
<a name="l00561"></a>00561         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">bool</span>&gt;(property,value);
<a name="l00562"></a>00562         emit valueChanged(value);
<a name="l00563"></a>00563         }
<a name="l00564"></a>00564 
<a name="l00566"></a>00566 QVStringParamWidget::QVStringParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00567"></a>00567         {
<a name="l00568"></a>00568         value = orig_holder-&gt;getPropertyValue&lt;QString&gt;(property);
<a name="l00569"></a>00569         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00570"></a>00570 
<a name="l00571"></a>00571         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00572"></a>00572         hboxlayout-&gt;setSpacing(0);
<a name="l00573"></a>00573         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;string&lt;/i&gt; &lt;b&gt;%1 &lt;/b&gt;&quot;</span>).arg(property),<span class="keyword">this</span>);
<a name="l00574"></a>00574         label-&gt;setToolTip(info);
<a name="l00575"></a>00575         hboxlayout-&gt;addWidget(label);
<a name="l00576"></a>00576         lineedit = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00577"></a>00577         hboxlayout-&gt;addWidget(lineedit);
<a name="l00578"></a>00578 
<a name="l00579"></a>00579         lineedit-&gt;setText(value);
<a name="l00580"></a>00580 
<a name="l00581"></a>00581         gui_holder-&gt;addProperty&lt;QString&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00582"></a>00582         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00583"></a>00583 
<a name="l00584"></a>00584         connect(lineedit,SIGNAL(textChanged(QString)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00585"></a>00585 
<a name="l00586"></a>00586         gui_holder-&gt;setPropertyValue&lt;QString&gt;(property,value);
<a name="l00587"></a>00587 
<a name="l00588"></a>00588         emit valueChanged(value);
<a name="l00589"></a>00589         }
<a name="l00590"></a>00590 
<a name="l00591"></a>00591 <span class="keywordtype">void</span> QVStringParamWidget::setValue()
<a name="l00592"></a>00592         {
<a name="l00593"></a>00593         value = lineedit-&gt;text();
<a name="l00594"></a>00594         gui_holder-&gt;setPropertyValue&lt;QString&gt;(property,value);
<a name="l00595"></a>00595         emit valueChanged(value);
<a name="l00596"></a>00596         }
<a name="l00597"></a>00597 
<a name="l00599"></a>00599 QVStringListParamWidget::QVStringListParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00600"></a>00600         {
<a name="l00601"></a>00601         value = orig_holder-&gt;getPropertyValue&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property);
<a name="l00602"></a>00602         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00603"></a>00603 
<a name="l00604"></a>00604         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00605"></a>00605         hboxlayout-&gt;setSpacing(0);
<a name="l00606"></a>00606         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;stringlist&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property),<span class="keyword">this</span>);
<a name="l00607"></a>00607         label-&gt;setToolTip(info);
<a name="l00608"></a>00608         hboxlayout-&gt;addWidget(label);
<a name="l00609"></a>00609         combobox = <span class="keyword">new</span> QComboBox(<span class="keyword">this</span>);
<a name="l00610"></a>00610         hboxlayout-&gt;addWidget(combobox);
<a name="l00611"></a>00611 
<a name="l00612"></a>00612         gui_holder-&gt;addProperty&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00613"></a>00613         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00614"></a>00614 
<a name="l00615"></a>00615         connect(combobox,SIGNAL(activated(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00616"></a>00616 
<a name="l00617"></a>00617         gui_holder-&gt;setPropertyValue&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property,value);
<a name="l00618"></a>00618 
<a name="l00619"></a>00619         combobox-&gt;addItems(value);
<a name="l00620"></a>00620         combobox-&gt;setCurrentIndex(value.<a class="code" href="classQVIndexedStringList.html#a9855746cb07868930d17476bab48f251" title="Return the index.">getIndex</a>());
<a name="l00621"></a>00621         emit valueChanged(value);
<a name="l00622"></a>00622         }
<a name="l00623"></a>00623 
<a name="l00624"></a>00624 <span class="keywordtype">void</span> QVStringListParamWidget::setValue()
<a name="l00625"></a>00625         {
<a name="l00626"></a>00626         value.<a class="code" href="classQVIndexedStringList.html#a2caf19a347dcdfb356a95875dda981de" title="Sets the index to i.">setIndex</a>(combobox-&gt;currentIndex());
<a name="l00627"></a>00627         gui_holder-&gt;setPropertyValue&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property,value);
<a name="l00628"></a>00628         emit valueChanged(value);
<a name="l00629"></a>00629         }
<a name="l00630"></a>00630 
<a name="l00632"></a>00632 QVProcessingBlockTriggerWidget::QVProcessingBlockTriggerWidget(<a class="code" href="classQVProcessingBlock.html" title="Base class for Block threads.">QVProcessingBlock</a> *block, <span class="keyword">const</span> QString triggername, QWidget *parent): QWidget(parent), block(block), triggername(triggername)
<a name="l00633"></a>00633         {
<a name="l00634"></a>00634         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00635"></a>00635         toolbutton = <span class="keyword">new</span> QToolButton(<span class="keyword">this</span>);
<a name="l00636"></a>00636         toolbutton-&gt;setText(triggername);
<a name="l00637"></a>00637         hboxlayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;trigger&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(triggername)));
<a name="l00638"></a>00638 hboxlayout-&gt;addStretch();
<a name="l00639"></a>00639         hboxlayout-&gt;addWidget(toolbutton);
<a name="l00640"></a>00640 
<a name="l00641"></a>00641         connect(toolbutton,SIGNAL(pressed()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00642"></a>00642         connect(<span class="keyword">this</span>,SIGNAL(valueChanged(QString)),block,SLOT(processTrigger(QString)),Qt::QueuedConnection);
<a name="l00643"></a>00643         }
<a name="l00644"></a>00644 
<a name="l00645"></a>00645 <span class="keywordtype">void</span> QVProcessingBlockTriggerWidget::setValue()
<a name="l00646"></a>00646         {
<a name="l00647"></a>00647         emit valueChanged(triggername);
<a name="l00648"></a>00648         }
<a name="l00649"></a>00649 
<a name="l00650"></a>00650 <span class="comment">/*              doublespinbox-&gt;setMinimum(min);</span>
<a name="l00651"></a>00651 <span class="comment">                doublespinbox-&gt;setMaximum(max);</span>
<a name="l00652"></a>00652 <span class="comment">                int signif=static_cast&lt;int&gt;(round(log(max-min)/log(10)));</span>
<a name="l00653"></a>00653 <span class="comment">                double val=pow(10,signif);</span>
<a name="l00654"></a>00654 <span class="comment">                std::cout &lt;&lt; val &lt;&lt; &quot; &quot; &lt;&lt; signif &lt;&lt; std::endl;</span>
<a name="l00655"></a>00655 <span class="comment">                doublespinbox-&gt;setSingleStep(val/100);</span>
<a name="l00656"></a>00656 <span class="comment">                if(signif &gt;= 5)</span>
<a name="l00657"></a>00657 <span class="comment">                        doublespinbox-&gt;setDecimals(0);</span>
<a name="l00658"></a>00658 <span class="comment">                else</span>
<a name="l00659"></a>00659 <span class="comment">                        doublespinbox-&gt;setDecimals(5-signif);</span>
<a name="l00660"></a>00660 <span class="comment">*/</span>
<a name="l00661"></a>00661 
<a name="l00663"></a>00663 <span class="comment">// -- QVColorParamWidget</span>
<a name="l00664"></a>00664 QVColorParamWidget::QVColorParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00665"></a>00665         {
<a name="l00666"></a>00666         <span class="keyword">const</span> <span class="keywordtype">int</span> max = 255, min = 0;
<a name="l00667"></a>00667         value = orig_holder-&gt;getPropertyValue&lt;QColor&gt;(property);
<a name="l00668"></a>00668         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l00669"></a>00669 
<a name="l00670"></a>00670         gui_holder-&gt;addProperty&lt;QColor&gt;(property,QVPropertyContainer::outputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l00671"></a>00671         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00672"></a>00672 
<a name="l00673"></a>00673         lineeditR = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00674"></a>00674         lineeditR-&gt;setFixedWidth(80);
<a name="l00675"></a>00675         lineeditG = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00676"></a>00676         lineeditG-&gt;setFixedWidth(80);
<a name="l00677"></a>00677         lineeditB = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00678"></a>00678         lineeditB-&gt;setFixedWidth(80);
<a name="l00679"></a>00679 
<a name="l00680"></a>00680         sliderR = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00681"></a>00681         sliderR-&gt;setMinimum(min);
<a name="l00682"></a>00682         sliderR-&gt;setMaximum(max);
<a name="l00683"></a>00683         sliderR-&gt;setFixedWidth(150);
<a name="l00684"></a>00684 
<a name="l00685"></a>00685         sliderG = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00686"></a>00686         sliderG-&gt;setMinimum(min);
<a name="l00687"></a>00687         sliderG-&gt;setMaximum(max);
<a name="l00688"></a>00688         sliderG-&gt;setFixedWidth(150);
<a name="l00689"></a>00689 
<a name="l00690"></a>00690         sliderB = <span class="keyword">new</span> QSlider(Qt::Horizontal,<span class="keyword">this</span>);
<a name="l00691"></a>00691         sliderB-&gt;setMinimum(min);
<a name="l00692"></a>00692         sliderB-&gt;setMaximum(max);
<a name="l00693"></a>00693         sliderB-&gt;setFixedWidth(150);
<a name="l00694"></a>00694 
<a name="l00695"></a>00695         QHBoxLayout *hboxlayout1 = <span class="keyword">new</span> QHBoxLayout();
<a name="l00696"></a>00696         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;int&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property));
<a name="l00697"></a>00697         label-&gt;setToolTip(info);
<a name="l00698"></a>00698         hboxlayout1-&gt;addWidget(label);
<a name="l00699"></a>00699         hboxlayout1-&gt;addStretch();
<a name="l00700"></a>00700         hboxlayout1-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;(%1,%2)&quot;</span>).arg(min).arg(max)));
<a name="l00701"></a>00701 
<a name="l00702"></a>00702         QHBoxLayout *hboxlayoutR = <span class="keyword">new</span> QHBoxLayout();
<a name="l00703"></a>00703         hboxlayoutR-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;R&quot;</span>)));
<a name="l00704"></a>00704         hboxlayoutR-&gt;addWidget(lineeditR);
<a name="l00705"></a>00705         hboxlayoutR-&gt;addStretch();
<a name="l00706"></a>00706         hboxlayoutR-&gt;addWidget(sliderR);
<a name="l00707"></a>00707 
<a name="l00708"></a>00708         QHBoxLayout *hboxlayoutG = <span class="keyword">new</span> QHBoxLayout();
<a name="l00709"></a>00709         hboxlayoutG-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;G&quot;</span>)));
<a name="l00710"></a>00710         hboxlayoutG-&gt;addWidget(lineeditG);
<a name="l00711"></a>00711         hboxlayoutG-&gt;addStretch();
<a name="l00712"></a>00712         hboxlayoutG-&gt;addWidget(sliderG);
<a name="l00713"></a>00713 
<a name="l00714"></a>00714         QHBoxLayout *hboxlayoutB = <span class="keyword">new</span> QHBoxLayout();
<a name="l00715"></a>00715         hboxlayoutB-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;B&quot;</span>)));
<a name="l00716"></a>00716         hboxlayoutB-&gt;addWidget(lineeditB);
<a name="l00717"></a>00717         hboxlayoutB-&gt;addStretch();
<a name="l00718"></a>00718         hboxlayoutB-&gt;addWidget(sliderB);
<a name="l00719"></a>00719 
<a name="l00720"></a>00720         QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00721"></a>00721         vboxlayout-&gt;setSpacing(0);
<a name="l00722"></a>00722         vboxlayout-&gt;addLayout(hboxlayout1);
<a name="l00723"></a>00723         vboxlayout-&gt;addLayout(hboxlayoutR);
<a name="l00724"></a>00724         vboxlayout-&gt;addLayout(hboxlayoutG);
<a name="l00725"></a>00725         vboxlayout-&gt;addLayout(hboxlayoutB);
<a name="l00726"></a>00726 
<a name="l00727"></a>00727         sliderR-&gt;setValue(value.red());
<a name="l00728"></a>00728         sliderG-&gt;setValue(value.green());
<a name="l00729"></a>00729         sliderB-&gt;setValue(value.blue());
<a name="l00730"></a>00730         connect(sliderR,SIGNAL(valueChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00731"></a>00731         connect(sliderG,SIGNAL(valueChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00732"></a>00732         connect(sliderB,SIGNAL(valueChanged(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00733"></a>00733 
<a name="l00734"></a>00734         connect(lineeditR,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00735"></a>00735         connect(lineeditG,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00736"></a>00736         connect(lineeditB,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00737"></a>00737         gui_holder-&gt;setPropertyValue&lt;QColor&gt;(property,value);
<a name="l00738"></a>00738         lineeditR-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.red()));
<a name="l00739"></a>00739         lineeditG-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.green()));
<a name="l00740"></a>00740         lineeditB-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.blue()));
<a name="l00741"></a>00741         emit valueChanged(value);
<a name="l00742"></a>00742         }
<a name="l00743"></a>00743 
<a name="l00744"></a>00744 <span class="keywordtype">void</span> QVColorParamWidget::setValue()
<a name="l00745"></a>00745         {
<a name="l00746"></a>00746         <span class="keywordflow">if</span>(sender() == lineeditR || sender() == lineeditG || sender() == lineeditB)
<a name="l00747"></a>00747                 value = QColor( lineeditR-&gt;text().toInt(), lineeditG-&gt;text().toInt(), lineeditB-&gt;text().toInt() );
<a name="l00748"></a>00748         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(sender() == sliderR || sender() == sliderG || sender() == sliderB)
<a name="l00749"></a>00749                 value = QColor( sliderR-&gt;value(), sliderG-&gt;value(), sliderB-&gt;value() );
<a name="l00750"></a>00750         <span class="keywordflow">else</span>
<a name="l00751"></a>00751                 value = gui_holder-&gt;getPropertyValue&lt;QColor&gt;(property);
<a name="l00752"></a>00752 
<a name="l00753"></a>00753         lineeditR-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.red()));
<a name="l00754"></a>00754         lineeditG-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.green()));
<a name="l00755"></a>00755         lineeditB-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.blue()));
<a name="l00756"></a>00756 
<a name="l00757"></a>00757         sliderR-&gt;setValue(value.red());
<a name="l00758"></a>00758         sliderG-&gt;setValue(value.green());
<a name="l00759"></a>00759         sliderB-&gt;setValue(value.blue());
<a name="l00760"></a>00760 
<a name="l00761"></a>00761         std::cout &lt;&lt; <span class="stringliteral">&quot;Setting color to &quot;</span> &lt;&lt; value.red() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; value.green() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>  &lt;&lt; value.blue()
<a name="l00762"></a>00762                 &lt;&lt; std::endl;  
<a name="l00763"></a>00763         gui_holder-&gt;setPropertyValue&lt;QColor&gt;(property,value);
<a name="l00764"></a>00764         emit valueChanged(value);
<a name="l00765"></a>00765         }
<a name="l00766"></a>00766 
<a name="l00768"></a>00768 QVSizeParamWidget::QVSizeParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00769"></a>00769         {
<a name="l00770"></a>00770         value = orig_holder-&gt;getPropertyValue&lt;QSize&gt;(property);
<a name="l00771"></a>00771         
<a name="l00772"></a>00772         gui_holder-&gt;addProperty&lt;QSize&gt;(property,QVPropertyContainer::outputFlag,value);
<a name="l00773"></a>00773         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00774"></a>00774 
<a name="l00775"></a>00775         lineWidth = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00776"></a>00776         lineWidth-&gt;setFixedWidth(80);
<a name="l00777"></a>00777 
<a name="l00778"></a>00778         lineHeight = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00779"></a>00779         lineHeight-&gt;setFixedWidth(80);
<a name="l00780"></a>00780 
<a name="l00781"></a>00781         QHBoxLayout *hboxnamelayout = <span class="keyword">new</span> QHBoxLayout();
<a name="l00782"></a>00782         hboxnamelayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;QSize&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property)));
<a name="l00783"></a>00783 
<a name="l00784"></a>00784         QHBoxLayout *hboxwidthlayout = <span class="keyword">new</span> QHBoxLayout();
<a name="l00785"></a>00785         hboxwidthlayout-&gt;addWidget(lineWidth);
<a name="l00786"></a>00786         hboxwidthlayout-&gt;addStretch();
<a name="l00787"></a>00787         hboxwidthlayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;Width&quot;</span>)));
<a name="l00788"></a>00788 
<a name="l00789"></a>00789         QHBoxLayout *hboxheightlayout = <span class="keyword">new</span> QHBoxLayout();
<a name="l00790"></a>00790         hboxheightlayout-&gt;addWidget(lineHeight);
<a name="l00791"></a>00791         hboxheightlayout-&gt;addStretch();
<a name="l00792"></a>00792         hboxheightlayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;Height&quot;</span>)));
<a name="l00793"></a>00793 
<a name="l00794"></a>00794         QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00795"></a>00795         vboxlayout-&gt;setSpacing(0);
<a name="l00796"></a>00796         vboxlayout-&gt;addLayout(hboxnamelayout);
<a name="l00797"></a>00797         vboxlayout-&gt;addLayout(hboxwidthlayout);
<a name="l00798"></a>00798         vboxlayout-&gt;addLayout(hboxheightlayout);
<a name="l00799"></a>00799 
<a name="l00800"></a>00800         connect(lineWidth,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00801"></a>00801         gui_holder-&gt;setPropertyValue&lt;QSize&gt;(property,value);
<a name="l00802"></a>00802         lineWidth-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.width()));
<a name="l00803"></a>00803         lineHeight-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.height()));
<a name="l00804"></a>00804         emit valueChanged(value);
<a name="l00805"></a>00805         }
<a name="l00806"></a>00806 
<a name="l00807"></a>00807 <span class="keywordtype">void</span> QVSizeParamWidget::setValue()
<a name="l00808"></a>00808         {
<a name="l00809"></a>00809         <span class="keywordflow">if</span>(sender() == lineWidth ||sender() == lineHeight)
<a name="l00810"></a>00810                 {
<a name="l00811"></a>00811                 <span class="keywordtype">bool</span> ok1, ok2;
<a name="l00812"></a>00812                 value = QSize(lineWidth-&gt;text().toInt(&amp;ok1), lineHeight-&gt;text().toInt(&amp;ok2));
<a name="l00813"></a>00813                 <span class="keywordflow">if</span>(not ok1 || not ok2)
<a name="l00814"></a>00814                         value = gui_holder-&gt;getPropertyValue&lt;QSize&gt;(property);
<a name="l00815"></a>00815                 }
<a name="l00816"></a>00816         <span class="keywordflow">else</span>
<a name="l00817"></a>00817                 value = gui_holder-&gt;getPropertyValue&lt;QSize&gt;(property);
<a name="l00818"></a>00818 
<a name="l00819"></a>00819         lineWidth-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.width()));
<a name="l00820"></a>00820         lineHeight-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.height()));
<a name="l00821"></a>00821         gui_holder-&gt;setPropertyValue&lt;QSize&gt;(property,value);
<a name="l00822"></a>00822         emit valueChanged(value);
<a name="l00823"></a>00823         }
<a name="l00824"></a>00824 
<a name="l00826"></a>00826 
<a name="l00827"></a>00827 QVPointParamWidget::QVPointParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00828"></a>00828         {
<a name="l00829"></a>00829         value = orig_holder-&gt;getPropertyValue&lt;QPoint&gt;(property);
<a name="l00830"></a>00830         
<a name="l00831"></a>00831         gui_holder-&gt;addProperty&lt;QPoint&gt;(property,QVPropertyContainer::outputFlag,value);
<a name="l00832"></a>00832         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00833"></a>00833 
<a name="l00834"></a>00834         lineX = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00835"></a>00835         lineX-&gt;setFixedWidth(80);
<a name="l00836"></a>00836 
<a name="l00837"></a>00837         lineY = <span class="keyword">new</span> QLineEdit(<span class="keyword">this</span>);
<a name="l00838"></a>00838         lineY-&gt;setFixedWidth(80);
<a name="l00839"></a>00839 
<a name="l00840"></a>00840         QHBoxLayout *hboxnamelayout = <span class="keyword">new</span> QHBoxLayout();
<a name="l00841"></a>00841         hboxnamelayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;QPoint&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property)));
<a name="l00842"></a>00842 
<a name="l00843"></a>00843         QHBoxLayout *hboxwidthlayout = <span class="keyword">new</span> QHBoxLayout();
<a name="l00844"></a>00844         hboxwidthlayout-&gt;addWidget(lineX);
<a name="l00845"></a>00845         hboxwidthlayout-&gt;addStretch();
<a name="l00846"></a>00846         hboxwidthlayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;x&quot;</span>)));
<a name="l00847"></a>00847 
<a name="l00848"></a>00848         QHBoxLayout *hboxheightlayout = <span class="keyword">new</span> QHBoxLayout();
<a name="l00849"></a>00849         hboxheightlayout-&gt;addWidget(lineY);
<a name="l00850"></a>00850         hboxheightlayout-&gt;addStretch();
<a name="l00851"></a>00851         hboxheightlayout-&gt;addWidget(<span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;y&quot;</span>)));
<a name="l00852"></a>00852 
<a name="l00853"></a>00853         QVBoxLayout *vboxlayout = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00854"></a>00854         vboxlayout-&gt;setSpacing(0);
<a name="l00855"></a>00855         vboxlayout-&gt;addLayout(hboxnamelayout);
<a name="l00856"></a>00856         vboxlayout-&gt;addLayout(hboxwidthlayout);
<a name="l00857"></a>00857         vboxlayout-&gt;addLayout(hboxheightlayout);
<a name="l00858"></a>00858 
<a name="l00859"></a>00859         connect(lineX,SIGNAL(editingFinished()),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00860"></a>00860         gui_holder-&gt;setPropertyValue&lt;QPoint&gt;(property,value);
<a name="l00861"></a>00861         lineX-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.x()));
<a name="l00862"></a>00862         lineY-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.y()));
<a name="l00863"></a>00863         emit valueChanged(value);
<a name="l00864"></a>00864         }
<a name="l00865"></a>00865 
<a name="l00866"></a>00866 <span class="keywordtype">void</span> QVPointParamWidget::setValue()
<a name="l00867"></a>00867         {
<a name="l00868"></a>00868         <span class="keywordflow">if</span>(sender() == lineX ||sender() == lineY)
<a name="l00869"></a>00869                 {
<a name="l00870"></a>00870                 <span class="keywordtype">bool</span> ok1, ok2;
<a name="l00871"></a>00871                 value = QPoint(lineX-&gt;text().toInt(&amp;ok1), lineY-&gt;text().toInt(&amp;ok2));
<a name="l00872"></a>00872                 <span class="keywordflow">if</span>(not ok1 || not ok2)
<a name="l00873"></a>00873                         value = gui_holder-&gt;getPropertyValue&lt;QPoint&gt;(property);
<a name="l00874"></a>00874                 }
<a name="l00875"></a>00875         <span class="keywordflow">else</span>
<a name="l00876"></a>00876                 value = gui_holder-&gt;getPropertyValue&lt;QPoint&gt;(property);
<a name="l00877"></a>00877 
<a name="l00878"></a>00878         lineX-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.x()));
<a name="l00879"></a>00879         lineY-&gt;setText(QString(<span class="stringliteral">&quot;%1&quot;</span>).arg(value.y()));
<a name="l00880"></a>00880         gui_holder-&gt;setPropertyValue&lt;QPoint&gt;(property,value);
<a name="l00881"></a>00881         emit valueChanged(value);
<a name="l00882"></a>00882         }
<a name="l00883"></a>00883 
<a name="l00885"></a>00885 <span class="preprocessor">#ifdef QVIPP</span>
<a name="l00886"></a>00886 <span class="preprocessor"></span>QVIppiMaskSizeParamWidget::QVIppiMaskSizeParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00887"></a>00887         {
<a name="l00888"></a>00888         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00889"></a>00889         hboxlayout-&gt;setSpacing(0);
<a name="l00890"></a>00890         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;IppiMaskSize&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property),<span class="keyword">this</span>);
<a name="l00891"></a>00891         hboxlayout-&gt;addWidget(label);
<a name="l00892"></a>00892         combobox = <span class="keyword">new</span> QComboBox(<span class="keyword">this</span>);
<a name="l00893"></a>00893         hboxlayout-&gt;addWidget(combobox);
<a name="l00894"></a>00894 
<a name="l00895"></a>00895         value = orig_holder-&gt;getPropertyValue&lt;IppiMaskSize&gt;(property);
<a name="l00896"></a>00896 
<a name="l00897"></a>00897         gui_holder-&gt;addProperty&lt;IppiMaskSize&gt;(property,QVPropertyContainer::outputFlag,value);
<a name="l00898"></a>00898         gui_holder-&gt;setPropertyValue&lt;IppiMaskSize&gt;(property,value);
<a name="l00899"></a>00899 
<a name="l00900"></a>00900         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00901"></a>00901 
<a name="l00902"></a>00902         connect(combobox,SIGNAL(activated(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00903"></a>00903 
<a name="l00904"></a>00904         <a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a> ippiMaskSizes;
<a name="l00905"></a>00905         ippiMaskSizes.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippMskSize3x1&quot;</span>);
<a name="l00906"></a>00906         ippiMaskSizes.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippMskSize5x1&quot;</span>);
<a name="l00907"></a>00907         ippiMaskSizes.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippMskSize1x3&quot;</span>);
<a name="l00908"></a>00908         ippiMaskSizes.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippMskSize3x3&quot;</span>);
<a name="l00909"></a>00909         ippiMaskSizes.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippMskSize1x5&quot;</span>);
<a name="l00910"></a>00910         ippiMaskSizes.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippMskSize5x5&quot;</span>);
<a name="l00911"></a>00911         combobox-&gt;addItems(ippiMaskSizes);
<a name="l00912"></a>00912 
<a name="l00913"></a>00913         combobox-&gt;setCurrentIndex(
<a name="l00914"></a>00914                         (value==ippMskSize3x1)? 0:
<a name="l00915"></a>00915                         (value==ippMskSize5x1)? 1:
<a name="l00916"></a>00916                         (value==ippMskSize1x3)? 2:
<a name="l00917"></a>00917                         (value==ippMskSize3x3)? 3:
<a name="l00918"></a>00918                         (value==ippMskSize1x5)? 4:
<a name="l00919"></a>00919                         <span class="comment">/*(value==ippMskSize5x5)?*/</span> 5);
<a name="l00920"></a>00920 
<a name="l00921"></a>00921         emit valueChanged(value);
<a name="l00922"></a>00922         }
<a name="l00923"></a>00923 
<a name="l00924"></a>00924 <span class="keywordtype">void</span> QVIppiMaskSizeParamWidget::setValue()
<a name="l00925"></a>00925         {
<a name="l00926"></a>00926         value = (combobox-&gt;currentIndex()==0)? ippMskSize3x1:
<a name="l00927"></a>00927                 (combobox-&gt;currentIndex()==1)? ippMskSize5x1:
<a name="l00928"></a>00928                 (combobox-&gt;currentIndex()==2)? ippMskSize1x3:
<a name="l00929"></a>00929                 (combobox-&gt;currentIndex()==3)? ippMskSize3x3:
<a name="l00930"></a>00930                 (combobox-&gt;currentIndex()==4)? ippMskSize1x5:
<a name="l00931"></a>00931                 <span class="comment">/*(combobox-&gt;currentIndex()==0)?*/</span> ippMskSize5x5;
<a name="l00932"></a>00932 
<a name="l00933"></a>00933         gui_holder-&gt;setPropertyValue&lt;IppiMaskSize&gt;(property,value);
<a name="l00934"></a>00934         emit valueChanged(value);
<a name="l00935"></a>00935         }
<a name="l00936"></a>00936 
<a name="l00937"></a>00937 QVIppCmpOpParamWidget::QVIppCmpOpParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00938"></a>00938         {
<a name="l00939"></a>00939         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00940"></a>00940         hboxlayout-&gt;setSpacing(0);
<a name="l00941"></a>00941         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;IppiCmpOp&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property),<span class="keyword">this</span>);
<a name="l00942"></a>00942         hboxlayout-&gt;addWidget(label);
<a name="l00943"></a>00943         combobox = <span class="keyword">new</span> QComboBox(<span class="keyword">this</span>);
<a name="l00944"></a>00944         hboxlayout-&gt;addWidget(combobox);
<a name="l00945"></a>00945 
<a name="l00946"></a>00946         value = orig_holder-&gt;getPropertyValue&lt;IppCmpOp&gt;(property);
<a name="l00947"></a>00947 
<a name="l00948"></a>00948         gui_holder-&gt;addProperty&lt;IppCmpOp&gt;(property,QVPropertyContainer::outputFlag,value);
<a name="l00949"></a>00949         gui_holder-&gt;setPropertyValue&lt;IppCmpOp&gt;(property,value);
<a name="l00950"></a>00950 
<a name="l00951"></a>00951         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l00952"></a>00952 
<a name="l00953"></a>00953         connect(combobox,SIGNAL(activated(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l00954"></a>00954 
<a name="l00955"></a>00955         <a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a> ippCmpOp;
<a name="l00956"></a>00956         ippCmpOp.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippCmpLess&quot;</span>);
<a name="l00957"></a>00957         ippCmpOp.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippCmpLessEq&quot;</span>);
<a name="l00958"></a>00958         ippCmpOp.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippCmpEq&quot;</span>);
<a name="l00959"></a>00959         ippCmpOp.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippCmpGreaterEq&quot;</span>);
<a name="l00960"></a>00960         ippCmpOp.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippCmpGreater&quot;</span>);
<a name="l00961"></a>00961 
<a name="l00962"></a>00962         combobox-&gt;addItems(ippCmpOp);
<a name="l00963"></a>00963         combobox-&gt;setCurrentIndex(
<a name="l00964"></a>00964                         (value==ippCmpLess)? 0:
<a name="l00965"></a>00965                         (value==ippCmpLessEq)? 1:
<a name="l00966"></a>00966                         (value==ippCmpEq)? 2:
<a name="l00967"></a>00967                         (value==ippCmpGreaterEq)? 3:
<a name="l00968"></a>00968                         <span class="comment">/*(value==ippCmpGreater?*/</span> 4);
<a name="l00969"></a>00969                         
<a name="l00970"></a>00970         emit valueChanged(value);
<a name="l00971"></a>00971         }
<a name="l00972"></a>00972 
<a name="l00973"></a>00973 <span class="keywordtype">void</span> QVIppCmpOpParamWidget::setValue()
<a name="l00974"></a>00974         {
<a name="l00975"></a>00975         value = (combobox-&gt;currentIndex()==1)? ippCmpLess:
<a name="l00976"></a>00976                 (combobox-&gt;currentIndex()==2)? ippCmpLessEq:
<a name="l00977"></a>00977                 (combobox-&gt;currentIndex()==3)? ippCmpEq:
<a name="l00978"></a>00978                 (combobox-&gt;currentIndex()==4)? ippCmpGreaterEq:
<a name="l00979"></a>00979                 <span class="comment">/*(combobox-&gt;currentIndex()==1)?*/</span> ippCmpGreater;
<a name="l00980"></a>00980 
<a name="l00981"></a>00981         gui_holder-&gt;setPropertyValue&lt;IppCmpOp&gt;(property,value);
<a name="l00982"></a>00982         emit valueChanged(value);
<a name="l00983"></a>00983         }
<a name="l00984"></a>00984 
<a name="l00985"></a>00985 
<a name="l00987"></a>00987 
<a name="l00988"></a>00988 QVIppRoundModeParamWidget::QVIppRoundModeParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l00989"></a>00989         {
<a name="l00990"></a>00990         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l00991"></a>00991         hboxlayout-&gt;setSpacing(0);
<a name="l00992"></a>00992         QLabel *label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;IppRoundMode&lt;/i&gt; &lt;b&gt;%1&lt;/b&gt;&quot;</span>).arg(property),<span class="keyword">this</span>);
<a name="l00993"></a>00993         hboxlayout-&gt;addWidget(label);
<a name="l00994"></a>00994         combobox = <span class="keyword">new</span> QComboBox(<span class="keyword">this</span>);
<a name="l00995"></a>00995         hboxlayout-&gt;addWidget(combobox);
<a name="l00996"></a>00996 
<a name="l00997"></a>00997         value = orig_holder-&gt;getPropertyValue&lt;IppRoundMode&gt;(property);
<a name="l00998"></a>00998 
<a name="l00999"></a>00999         gui_holder-&gt;addProperty&lt;IppRoundMode&gt;(property,QVPropertyContainer::outputFlag,value);
<a name="l01000"></a>01000         gui_holder-&gt;setPropertyValue&lt;IppRoundMode&gt;(property,value);
<a name="l01001"></a>01001 
<a name="l01002"></a>01002         gui_holder-&gt;linkProperty(property,orig_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01003"></a>01003 
<a name="l01004"></a>01004         connect(combobox,SIGNAL(activated(<span class="keywordtype">int</span>)),<span class="keyword">this</span>,SLOT(setValue()));
<a name="l01005"></a>01005 
<a name="l01006"></a>01006         <a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a> ippRoundMode;
<a name="l01007"></a>01007         ippRoundMode.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippRndZero&quot;</span>);
<a name="l01008"></a>01008         ippRoundMode.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippRndNear&quot;</span>);
<a name="l01009"></a>01009         ippRoundMode.<a class="code" href="classQVIndexedStringList.html#a6e36e6c5821f1147683b731b33919ed6" title="Inserts a string as the last element of the list. if there are no elements in the...">append</a>(<span class="stringliteral">&quot;ippRndFinancial&quot;</span>);
<a name="l01010"></a>01010 
<a name="l01011"></a>01011         combobox-&gt;addItems(ippRoundMode);
<a name="l01012"></a>01012         combobox-&gt;setCurrentIndex(
<a name="l01013"></a>01013                         (value==ippRndZero)? 0:
<a name="l01014"></a>01014                         (value==ippRndNear)? 1:
<a name="l01015"></a>01015                         <span class="comment">/*(value==ippRndFinancial)?*/</span> 2);
<a name="l01016"></a>01016                         
<a name="l01017"></a>01017         emit valueChanged(value);
<a name="l01018"></a>01018         }
<a name="l01019"></a>01019 
<a name="l01020"></a>01020 <span class="keywordtype">void</span> QVIppRoundModeParamWidget::setValue()
<a name="l01021"></a>01021         {
<a name="l01022"></a>01022         value = (combobox-&gt;currentIndex()==1)? ippRndZero:
<a name="l01023"></a>01023                 (combobox-&gt;currentIndex()==2)? ippRndNear:
<a name="l01024"></a>01024                 <span class="comment">/*(combobox-&gt;currentIndex()==3)?*/</span> ippRndFinancial;
<a name="l01025"></a>01025 
<a name="l01026"></a>01026         gui_holder-&gt;setPropertyValue&lt;IppRoundMode&gt;(property,value);
<a name="l01027"></a>01027         emit valueChanged(value);
<a name="l01028"></a>01028         }
<a name="l01029"></a>01029 <span class="preprocessor">#endif</span>
<a name="l01030"></a>01030 <span class="preprocessor"></span>
<a name="l01032"></a>01032 
<a name="l01033"></a>01033 
<a name="l01034"></a>01034 
<a name="l01035"></a>01035 QVOutputIntParamWidget::QVOutputIntParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l01036"></a>01036         {
<a name="l01037"></a>01037         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l01038"></a>01038         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l01039"></a>01039 
<a name="l01040"></a>01040         gui_holder-&gt;addProperty&lt;<span class="keywordtype">int</span>&gt;(property,QVPropertyContainer::inputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l01041"></a>01041         _orig_holder-&gt;<a class="code" href="classQVPropertyContainer.html#abd2a991c0bc91cee684ff3ffc80825dd" title="Links properties among QVPropertyContainer&amp;#39;s.">linkProperty</a>(property,_gui_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01042"></a>01042 
<a name="l01043"></a>01043         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l01044"></a>01044         label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;int&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value));
<a name="l01045"></a>01045         label-&gt;setToolTip(info);
<a name="l01046"></a>01046         hboxlayout-&gt;addWidget(label);
<a name="l01047"></a>01047         hboxlayout-&gt;addStretch();
<a name="l01048"></a>01048 
<a name="l01049"></a>01049         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property,value);
<a name="l01050"></a>01050         }
<a name="l01051"></a>01051 
<a name="l01052"></a>01052 <span class="keywordtype">void</span> QVOutputIntParamWidget::update()
<a name="l01053"></a>01053         {
<a name="l01054"></a>01054         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">int</span>&gt;(property);
<a name="l01055"></a>01055         label-&gt;setText(QString(<span class="stringliteral">&quot;&lt;i&gt;int&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value));
<a name="l01056"></a>01056         }
<a name="l01057"></a>01057 
<a name="l01058"></a>01058 QVOutputDoubleParamWidget::QVOutputDoubleParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l01059"></a>01059         {
<a name="l01060"></a>01060         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l01061"></a>01061         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l01062"></a>01062 
<a name="l01063"></a>01063         gui_holder-&gt;addProperty&lt;<span class="keywordtype">double</span>&gt;(property,QVPropertyContainer::inputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l01064"></a>01064         _orig_holder-&gt;<a class="code" href="classQVPropertyContainer.html#abd2a991c0bc91cee684ff3ffc80825dd" title="Links properties among QVPropertyContainer&amp;#39;s.">linkProperty</a>(property,_gui_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01065"></a>01065 
<a name="l01066"></a>01066         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l01067"></a>01067         label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;double&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value));
<a name="l01068"></a>01068         label-&gt;setToolTip(info);
<a name="l01069"></a>01069         hboxlayout-&gt;addWidget(label);
<a name="l01070"></a>01070         hboxlayout-&gt;addStretch();
<a name="l01071"></a>01071 
<a name="l01072"></a>01072         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property,value);
<a name="l01073"></a>01073         }
<a name="l01074"></a>01074 
<a name="l01075"></a>01075 <span class="keywordtype">void</span> QVOutputDoubleParamWidget::update()
<a name="l01076"></a>01076         {
<a name="l01077"></a>01077         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">double</span>&gt;(property);
<a name="l01078"></a>01078         label-&gt;setText(QString(<span class="stringliteral">&quot;&lt;i&gt;double&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value));
<a name="l01079"></a>01079         }
<a name="l01080"></a>01080 
<a name="l01081"></a>01081 QVOutputBoolParamWidget::QVOutputBoolParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l01082"></a>01082         {
<a name="l01083"></a>01083         value = orig_holder-&gt;getPropertyValue&lt;<span class="keywordtype">bool</span>&gt;(property);
<a name="l01084"></a>01084         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l01085"></a>01085 
<a name="l01086"></a>01086         gui_holder-&gt;addProperty&lt;<span class="keywordtype">bool</span>&gt;(property,QVPropertyContainer::inputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l01087"></a>01087         _orig_holder-&gt;<a class="code" href="classQVPropertyContainer.html#abd2a991c0bc91cee684ff3ffc80825dd" title="Links properties among QVPropertyContainer&amp;#39;s.">linkProperty</a>(property,_gui_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01088"></a>01088 
<a name="l01089"></a>01089         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l01090"></a>01090         <span class="keywordflow">if</span> (value) {
<a name="l01091"></a>01091                 label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;bool&lt;/i&gt; &lt;b&gt;%1: TRUE&lt;/b&gt;&quot;</span>).arg(property));
<a name="l01092"></a>01092                 label-&gt;setToolTip(info);
<a name="l01093"></a>01093                 }
<a name="l01094"></a>01094         <span class="keywordflow">else</span> {
<a name="l01095"></a>01095                 label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;bool&lt;/i&gt; &lt;b&gt;%1: FALSE&lt;/b&gt;&quot;</span>).arg(property));
<a name="l01096"></a>01096                 label-&gt;setToolTip(info);
<a name="l01097"></a>01097                 }
<a name="l01098"></a>01098         hboxlayout-&gt;addWidget(label);
<a name="l01099"></a>01099         hboxlayout-&gt;addStretch();
<a name="l01100"></a>01100 
<a name="l01101"></a>01101         gui_holder-&gt;setPropertyValue&lt;<span class="keywordtype">bool</span>&gt;(property,value);
<a name="l01102"></a>01102         }
<a name="l01103"></a>01103 
<a name="l01104"></a>01104 <span class="keywordtype">void</span> QVOutputBoolParamWidget::update()
<a name="l01105"></a>01105         {
<a name="l01106"></a>01106         value = gui_holder-&gt;getPropertyValue&lt;<span class="keywordtype">bool</span>&gt;(property);
<a name="l01107"></a>01107         <span class="keywordflow">if</span> (value) {
<a name="l01108"></a>01108                 label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;bool&lt;/i&gt; &lt;b&gt;%1: TRUE&lt;/b&gt;&quot;</span>).arg(property));
<a name="l01109"></a>01109                 label-&gt;setToolTip(info);
<a name="l01110"></a>01110                 }
<a name="l01111"></a>01111         <span class="keywordflow">else</span> {
<a name="l01112"></a>01112                 label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;bool&lt;/i&gt; &lt;b&gt;%1: FALSE&lt;/b&gt;&quot;</span>).arg(property));
<a name="l01113"></a>01113                 label-&gt;setToolTip(info);
<a name="l01114"></a>01114                 }
<a name="l01115"></a>01115         }
<a name="l01116"></a>01116 
<a name="l01117"></a>01117 QVOutputStringParamWidget::QVOutputStringParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l01118"></a>01118         {
<a name="l01119"></a>01119         value = orig_holder-&gt;getPropertyValue&lt;QString&gt;(property);
<a name="l01120"></a>01120         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l01121"></a>01121 
<a name="l01122"></a>01122         gui_holder-&gt;addProperty&lt;QString&gt;(property,QVPropertyContainer::inputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l01123"></a>01123         _orig_holder-&gt;<a class="code" href="classQVPropertyContainer.html#abd2a991c0bc91cee684ff3ffc80825dd" title="Links properties among QVPropertyContainer&amp;#39;s.">linkProperty</a>(property,_gui_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01124"></a>01124 
<a name="l01125"></a>01125         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l01126"></a>01126         label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;string&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value));
<a name="l01127"></a>01127         label-&gt;setToolTip(info);
<a name="l01128"></a>01128         hboxlayout-&gt;addWidget(label);
<a name="l01129"></a>01129         hboxlayout-&gt;addStretch();
<a name="l01130"></a>01130 
<a name="l01131"></a>01131         gui_holder-&gt;setPropertyValue&lt;QString&gt;(property,value);
<a name="l01132"></a>01132         }
<a name="l01133"></a>01133 
<a name="l01134"></a>01134 <span class="keywordtype">void</span> QVOutputStringParamWidget::update()
<a name="l01135"></a>01135         {
<a name="l01136"></a>01136         value = gui_holder-&gt;getPropertyValue&lt;QString&gt;(property);
<a name="l01137"></a>01137         label-&gt;setText(QString(<span class="stringliteral">&quot;&lt;i&gt;string&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value));
<a name="l01138"></a>01138         }
<a name="l01139"></a>01139 
<a name="l01140"></a>01140 QVOutputStringListParamWidget::QVOutputStringListParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l01141"></a>01141         {
<a name="l01142"></a>01142         value = orig_holder-&gt;getPropertyValue&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property);
<a name="l01143"></a>01143         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l01144"></a>01144 
<a name="l01145"></a>01145         gui_holder-&gt;addProperty&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property,QVPropertyContainer::inputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l01146"></a>01146         _orig_holder-&gt;<a class="code" href="classQVPropertyContainer.html#abd2a991c0bc91cee684ff3ffc80825dd" title="Links properties among QVPropertyContainer&amp;#39;s.">linkProperty</a>(property,_gui_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01147"></a>01147 
<a name="l01148"></a>01148         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l01149"></a>01149         label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;indexed string list&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value.<a class="code" href="classQVIndexedStringList.html#af98ec139afe8156b993f5796b90111d3" title="Return the current string, marked by the index.">getCurrent</a>()));
<a name="l01150"></a>01150         label-&gt;setToolTip(info);
<a name="l01151"></a>01151         hboxlayout-&gt;addWidget(label);
<a name="l01152"></a>01152         hboxlayout-&gt;addStretch();
<a name="l01153"></a>01153 
<a name="l01154"></a>01154         gui_holder-&gt;setPropertyValue&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property,value);
<a name="l01155"></a>01155         }
<a name="l01156"></a>01156 
<a name="l01157"></a>01157 <span class="keywordtype">void</span> QVOutputStringListParamWidget::update()
<a name="l01158"></a>01158         {
<a name="l01159"></a>01159         value = gui_holder-&gt;getPropertyValue&lt;<a class="code" href="classQVIndexedStringList.html" title="String List with a current string index.">QVIndexedStringList</a>&gt;(property);
<a name="l01160"></a>01160         label-&gt;setText(QString(<span class="stringliteral">&quot;&lt;i&gt;indexed string list&lt;/i&gt; &lt;b&gt;%1: %2&lt;/b&gt;&quot;</span>).arg(property).arg(value.<a class="code" href="classQVIndexedStringList.html#af98ec139afe8156b993f5796b90111d3" title="Return the current string, marked by the index.">getCurrent</a>()));
<a name="l01161"></a>01161         }
<a name="l01162"></a>01162 
<a name="l01163"></a>01163 QVOutputColorParamWidget::QVOutputColorParamWidget(<a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_orig_holder, <a class="code" href="classQVPropertyContainer.html" title="Base class for dynamic property container objects.">QVPropertyContainer</a> *_gui_holder, <span class="keyword">const</span> QString _property, QWidget *parent): QWidget(parent), orig_holder(_orig_holder), gui_holder(_gui_holder), property(_property)
<a name="l01164"></a>01164         {
<a name="l01165"></a>01165         value = orig_holder-&gt;getPropertyValue&lt;QColor&gt;(property);
<a name="l01166"></a>01166         info = orig_holder-&gt;getPropertyInfo(property);
<a name="l01167"></a>01167 
<a name="l01168"></a>01168         gui_holder-&gt;addProperty&lt;QColor&gt;(property,QVPropertyContainer::inputFlag,value,<span class="stringliteral">&quot;&quot;</span>);
<a name="l01169"></a>01169         _orig_holder-&gt;<a class="code" href="classQVPropertyContainer.html#abd2a991c0bc91cee684ff3ffc80825dd" title="Links properties among QVPropertyContainer&amp;#39;s.">linkProperty</a>(property,_gui_holder,property,QVPropertyContainer::AsynchronousLink);
<a name="l01170"></a>01170 
<a name="l01171"></a>01171         QHBoxLayout *hboxlayout = <span class="keyword">new</span> QHBoxLayout(<span class="keyword">this</span>);
<a name="l01172"></a>01172         label = <span class="keyword">new</span> QLabel(QString(<span class="stringliteral">&quot;&lt;i&gt;color&lt;/i&gt; &lt;b&gt;%1: R = %2 G = %3 B = %4&lt;/b&gt;&quot;</span>).arg(property).arg(value.red()).arg(value.green()).arg(value.blue()));
<a name="l01173"></a>01173         label-&gt;setToolTip(info);
<a name="l01174"></a>01174         hboxlayout-&gt;addWidget(label);
<a name="l01175"></a>01175         hboxlayout-&gt;addStretch();
<a name="l01176"></a>01176 
<a name="l01177"></a>01177         gui_holder-&gt;setPropertyValue&lt;QColor&gt;(property,value);
<a name="l01178"></a>01178         }
<a name="l01179"></a>01179 
<a name="l01180"></a>01180 <span class="keywordtype">void</span> QVOutputColorParamWidget::update()
<a name="l01181"></a>01181         {
<a name="l01182"></a>01182         value = gui_holder-&gt;getPropertyValue&lt;QColor&gt;(property);
<a name="l01183"></a>01183         label-&gt;setText(QString(<span class="stringliteral">&quot;&lt;i&gt;color&lt;/i&gt; &lt;b&gt;%1: R = %2 G = %3 B = %4&lt;/b&gt;&quot;</span>).arg(property).arg(value.red()).arg(value.green()).arg(value.blue()));
<a name="l01184"></a>01184         }
</pre></div></div>
</td></tr></table>

<br /><hr><br />
<center><a href="http://perception.inf.um.es/QVision">QVision framework</a>.
<a href="http://perception.inf.um.es">PARP research group</a>.
Copyright &copy; 2007, 2008, 2009, 2010, 2011.</center>
<br />
</body>
</html>
